﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DtoFw.Query
{
    public class RoomDto
    {

    }

    /// <summary>
    /// 区域信息
    /// </summary>
    public class AreaDto : BaseOperator
    {
        public long Id { get; set; }
        public string Code { get; set; }
        public string Name { get; set; }
        public string WarehouseNo { get; set; }
        public string Remark { get; set; }
        public int? OrderBy { get; set; }
    }
    /// <summary>
    /// 区域信息新增
    /// </summary>
    public class AreaPostDto : AreaDto
    {

    }
    /// <summary>
    /// 区域信息
    /// </summary>
    public class AreaPutDto : AreaDto
    {
        public long Id { get; set; }
    }

    /// <summary>
    /// 区域信息
    /// </summary>
    public class AreaQueryDto
    {
        public long Id { get; set; }
        public string Code { get; set; }
        public string Name { get; set; }
        public string WarehouseNo { get; set; }
        public string Remark { get; set; }

        public int? OrderBy { get; set; }
    }


    /// <summary>
    /// 柜子
    /// </summary>
    public class CabinetDto : BaseOperator
    {
        public string Addr { get; set; } = string.Empty;

        public long AreaId { get; set; }

        public string CabinetCode { get; set; }

        public string CabinetName { get; set; } = string.Empty;

        public string Coding { get; set; } = string.Empty;

        public string FixedColumn { get; set; }

        public string ModelCode { get; set; }

        public string ModelName { get; set; } = string.Empty;

        public string ModuleNo { get; set; } = string.Empty;

        public string Name { get; set; } = string.Empty;

        public string No { get; set; } = string.Empty;

        /// <summary>
        /// 排序
        /// </summary>
        public int? OrderBy { get; set; }

        public string Remark { get; set; } = string.Empty;

        public bool? Smart { get; set; }

        public int? Total { get; set; }

        public double Volume { get; set; }

        public int Columns { get; set; }
        public long Id { get; set; }
    }
    /// <summary>
    /// 添加柜子
    /// </summary>
    public class CabinetPostDto : CabinetDto
    {

    }
    /// <summary>
    /// 编辑柜子
    /// </summary>
    public class CabinetPutDto : CabinetDto
    {
        public long Id { get; set; }
    }

    /// <summary>
    /// 查询柜子
    /// </summary>
    public class CabinetQueryDto
    {
        public string Addr { get; set; } = string.Empty;

        public long AreaId { get; set; }

        public string CabinetCode { get; set; }

        public string CabinetName { get; set; } = string.Empty;

        public string Coding { get; set; } = string.Empty;

        public string FixedColumn { get; set; }

        public string ModelCode { get; set; }

        public string ModelName { get; set; } = string.Empty;

        public string ModuleNo { get; set; } = string.Empty;

        public string Name { get; set; } = string.Empty;

        public string No { get; set; } = string.Empty;

        /// <summary>
        /// 排序
        /// </summary>
        public int? OrderBy { get; set; }

        public long? OrganId { get; set; }

        public string Remark { get; set; } = string.Empty;

        public bool? Smart { get; set; }

        public int? Total { get; set; }

        public double Volume { get; set; }

        public int Columns { get; set; }
        public long Id { get; set; }
    }





    /// <summary>
    /// 箱子
    /// </summary>
    public class BoxDto : BaseOperator
    {

        public long Id { get; set; }

        public long AreaId { get; set; }
        public long CabinetId { get; set; }

        public string Code { get; set; } = string.Empty;

        public int? ColNO { get; set; }

        public int? Columns { get; set; }

        public int? Direction { get; set; }

        public string Location { get; set; } = string.Empty;


        public string Name { get; set; } = string.Empty;

        public int? Port { get; set; }

        public string Remark { get; set; } = string.Empty;

        public int? Rows { get; set; }

        public int? Section { get; set; }

        public int? EviCount { get; set; }
        public int? Total { get; set; }

        public double Volume { get; set; }
        public int IsAdd { get; set; }

    }

    /// <summary>
    /// 添加箱子
    /// </summary>
    public class BoxPostDto : BoxDto
    {

    }
    /// <summary>
    /// 编辑箱子
    /// </summary>
    public class BoxPutDto : BoxDto
    {
        public long Id { get; set; }
    }

    public class BoxQueryAllDto
    {
        public int col { get; set; } = 0;
        public int row { get; set; } = 0;
        public List<List<BoxQueryDto>> rows { get; set; } = new List<List<BoxQueryDto>>();

    }

    public class OpenBoxDto
    {
        public List<long> boxid { get; set; }
        public string tranNo { get; set; }
        public int CabinetType { get; set; }
        public string ComNo { get; set; }
        public string Module { get; set; }
        public int Port { get; set; }

        public string AreaNo { get; set; }
        public int ColumnNo { get; set; }
        public string FixedColumn { get; set; }
        public string Direction { get; set; } = "1";

        public string Key { get; set; } = "";

    }


    /// <summary>
    /// 查询箱子
    /// </summary>
    public class BoxQueryDto
    {
        public long Id { get; set; }

        public long AreaId { get; set; }
        public long CabinetId { get; set; }


        public string Code { get; set; } = string.Empty;


        public int? ColNO { get; set; }


        public int? Columns { get; set; }


        public int? Direction { get; set; }


        public string Location { get; set; } = string.Empty;


        public string Name { get; set; } = string.Empty;


        public long? OrganId { get; set; }


        public int? Port { get; set; }


        public string Remark { get; set; } = string.Empty;


        public int? Rows { get; set; }


        public int? Section { get; set; }

        public int? EviCount { get; set; }
        public int? Total { get; set; }

        public double Volume { get; set; }

        public int IsAdd { get; set; } = 0;
    }
}
